package com.hwd.srb.core.service;

import com.hwd.srb.core.pojo.dto.ExcelDictDTO;
import com.hwd.srb.core.pojo.entity.Dict;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 数据字典 服务类
 * </p>
 *
 * @author 黄伟东/Victor
 * @since 2022-03-10
 */
public interface DictService extends IService<Dict> {

    /**
     * 导入文件
     *
     * @param multipartFile 导入的文件对象
     */
    void importData(MultipartFile multipartFile) throws IOException;

    /**
     * 查询ExcelDictDTO列表信息
     */
    List<ExcelDictDTO> listDictData();

    /**
     * 根据数据字典上级id获取子节点数据列表
     *
     * @param parentId 上级节点id
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    List<Dict> listByParentId(Long parentId);

    /**
     * 根据dictCode查询字典集合
     *
     * @param dictCode dictCode
     * @return java.util.List<com.hwd.srb.core.pojo.entity.Dict>
     */
    List<Dict> findByDictCode(String dictCode);

    /**
     * 根据dictCode和value值获取dict表中name值
     *
     * @param dictCode dict表dictCode
     * @param value    dict表的value值
     * @return java.lang.String
     */
    String getNameByParentDictCodeAndValue(String dictCode, Integer value);
}
